チュートリアル

Ethernet接続(トレーサー無し)において、通常のテストポイント情報を取得する為に、
ドライバファイルをカスタマイズする方法を説明します。
言語により変更箇所は異なりますが、接続モード、IP アドレス、ポート番号の変更のみでお使いいただけます。

1.サンプルドライバのカスタマイズ

ダウンロードいただいたドライバファイルは、ターゲット環境に合わせて、下記の内容を変更します。

1-1.接続モードの設定

「UDPプロトコル」「TCP/IPサーバー」「TCP/IPクライアント」の3つから選択します。
下記では、例として C 言語向けの dt_ether_drv.c の変更箇所を記載します。

▼UDPプロトコルの場合

DT10のドライバファイルにある『#define DT_ETHER_UDP』を”1″にします。

/*==================================================================*/
/*  Macro:  DT_ETHER_XXX                           */
/*  Desc:   Please select Ethernet mode                  */
/*==================================================================*/
#define DT_ETHER_TCPIP_SERVER 0
#define DT_ETHER_TCPIP_CLIENT 0
#define DT_ETHER_UDP       1
▼PC側をTCP/IPサーバーにする場合

PC側をTCP/IPサーバーにする場合

DT10のドライバファイルにある『DT_ETHER_TCPIP_CLIENT』を”1″にします。

/*==================================================================*/
/*  Macro:  DT_ETHER_XXX                           */
/*  Desc:   Please select Ethernet mode                  */
/*==================================================================*/
#define DT_ETHER_TCPIP_SERVER 0
#define DT_ETHER_TCPIP_CLIENT  1
#define DT_ETHER_UDP       0
▼PC側をTCP/IPクライアントにする場合

PC側をTCP/IPクライアントにする場合

DT10のドライバファイルにある『DT_ETHER_TCPIP_SERVER』を”1″にします。

/*==================================================================*/
/*  Macro:  DT_ETHER_XXX                           */
/*  Desc:   Please select Ethernet mode                  */
/*==================================================================*/
#define DT_ETHER_TCPIP_SERVER 1
#define DT_ETHER_TCPIP_CLIENT  0
#define DT_ETHER_UDP       0
1-2.IPアドレスとポート設定

_TP_BusEthernetInit関数で、Ethernetの初期化を行います。
今回は DynamicTracer を使用しない(トレーサー無し)で PC 間の通信を行う為、
テストポイント情報を送信する PC の IP アドレスを指定します。
ポート番号もDynamic Tracerを使用しないため、任意の値を指定できます。

※使用するポートがファイアウォールの対象外となっていることを確認してください。

今回のプロジェクトは、トレーサー無し接続のためポート番号は任意の値を指定できますが、
トレーサー有り接続の場合で、UDP 接続と TCP/IP のターゲット側がServerになる場合は3000に変更してください。
ターゲット側がClientになる場合は5000番固定となります。

/*==================================================================*/
/*  Func:   _TP_BusEthernetInit                       */
/*  Desc:   Please describe the code to initializes socket.      */
/*==================================================================*/
static void _TP_BusEthernetInit(void)
{
   int n;
#if DT_ETHER_TCPIP_CLIENT
   ipaddr.sin_family = AF_INET;
   ipaddr.sin_addr.S_un.S_addr = inet_addr("192.168.2.100");
   ipaddr.sin_port = htons(5000);
#elif DT_ETHER_TCPIP_SERVER
   sipaddr.sin_family = AF_INET;
   sipaddr.sin_addr.S_un.S_addr = INADDR_ANY;
   sipaddr.sin_port = htons(3000);
#else
   ipaddr.sin_family = AF_INET;
   ipaddr.sin_addr.S_un.S_addr = inet_addr("192.168.2.100");
   ipaddr.sin_port = htons(3000);
#endif
2.ターゲットのコンパイル

お使いの開発環境に、カスタマイズしたドライバファイルを追加します。
コンパイルしていただき、問題なくターゲットが動作するかを確認します。

レポート取得へ